Skip to content

refactor(distribution): add Distribution Inventory as single source#78

Merged
derek-palmer merged 1 commit into
mainfrom
feat/distribution-inventory
May 29, 2026
Merged

refactor(distribution): add Distribution Inventory as single source#78
derek-palmer merged 1 commit into
mainfrom
feat/distribution-inventory

Conversation

@derek-palmer
Copy link
Copy Markdown
Owner

Closes #50.

What

Adds src/codeforerunner/distribution.py — the Distribution Inventory that owns distribution artifact identity and install policy, previously duplicated across installer/doctor/validators:

  • Canonical skill path (agent/codeforerunner.skill.md)
  • Distributed copy paths (V10 body parity)
  • Marketplace manifest path
  • Managed-region markers (MARKER_BEGIN/MARKER_END)
  • Default install-destination templates (skill_destination, marketplace_destination)

Consumers now consult the inventory:

  • installer.pyresolve_target / resolve_skill_target delegate to skill_destination; markers/paths re-exported for back-compat.
  • doctor.py — destinations and markers sourced from the inventory.
  • scripts/validate_skill_copies.py — canonical/copy paths sourced from the inventory (src on path for standalone runs).

Install behavior unchanged: idempotent writes, body-parity, managed markers, overlay safety all intact.

Tests (TDD)

  • tests/test_distribution.py — 6 tests covering constants, markers, and per-agent/slug destination resolution.
  • Existing installer/doctor suites pass unchanged (behavior preserved through inventory-backed planning).

271 pytest green; validate_skill_copies.py, validate_codex_marketplace.py, check_versions.py all green.

Out of scope

No installer UX, marker string, or marketplace schema changes.

🤖 Generated with Claude Code

Centralize distribution artifact identity and install policy — canonical
skill path, distributed copy paths, marketplace manifest path,
managed-region markers, and default install-destination templates — in
codeforerunner.distribution. installer, doctor, and the skill-copy
validator now consult the inventory instead of re-declaring constants, so
a packaging change is one edit. Install behavior is unchanged.

Closes #50
@derek-palmer derek-palmer merged commit 59bde49 into main May 29, 2026
10 checks passed
@derek-palmer derek-palmer deleted the feat/distribution-inventory branch May 29, 2026 20:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Deepen distribution metadata behind a Distribution Inventory

1 participant